﻿#region Header
// Copyright 2007-2011, Jerónimo Milea
// 
// This file is part of NetJsWire.
// 
//     NetJsWire is free software: you can redistribute it and/or modify
//     it under the terms of the GNU General Public License as published by
//     the Free Software Foundation, either version 3 of the License, or
//     (at your option) any later version.
// 
//     NetJsWire is distributed in the hope that it will be useful,
//     but WITHOUT ANY WARRANTY; without even the implied warranty of
//     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//     GNU General Public License for more details.
// 
//     You should have received a copy of the GNU General Public License
//     along with NetJsWire.  If not, see <http://www.gnu.org/licenses/>.
#endregion

using System.ComponentModel;
using NetJsWire.Widgets.Ui.List;

namespace NetJsWire.Widgets.Config
{
    partial interface IConfigOptions
    {
        /// <summary>
        ///   Specify true or specify a configuration object for Ext.list.ListView.ColumnResizer to enable the columns to be resizable (defaults to true).
        /// </summary>
        [Description( "Specify true or specify a configuration object for Ext.list.ListView.ColumnResizer to enable the columns to be resizable (defaults to true)." )]
        [DefaultValue( null )]
        [Browsable( false )]
        object ColumnResize { get; set; }

        /// <summary>
        ///   Specify true or specify a configuration object for Ext.list.ListView.Sorter to enable the columns to be sortable (defaults to true).
        /// </summary>
        [Description( "Specify true or specify a configuration object for Ext.list.ListView.Sorter to enable the columns to be sortable (defaults to true)." )]
        [DefaultValue( null )]
        [Browsable( false )]
        object ColumnSort { get; set; }

        /// <summary>
        ///   An array of column configuration objects.
        /// </summary>
        /// <example>
        ///   {
        ///   align: 'right',
        ///   dataIndex: 'size',
        ///   header: 'Size',
        ///   tpl: '{size:fileSize}',
        ///   width: .35
        ///   }
        /// </example>
        /// <remarks>
        ///   Acceptable properties for each column configuration object are:
        ///   align : String
        ///   Set the CSS text-align property of the column. Defaults to 'left'.
        ///   dataIndex : String
        ///   See Ext.grid.Column. dataIndex for details.
        ///   header : String
        ///   See Ext.grid.Column. header for details.
        /// </remarks>
        [Description( "An array of column configuration objects." )]
        [DefaultValue( null )]
        [Browsable( false )]
        ListViewColumnCollection Columns { get; set; }
        /*
        
tpl : String
Specify a string to pass as the configuration string for Ext.XTemplate. By default an Ext.XTemplate will be implicitly created using the dataIndex.
width : Number
Percentage of the container width this column should be allocated. Columns that have no width specified will be allocated with an equal percentage to fill 100% of the container width. To easily take advantage of the full container width, leave the width of at least one column undefined. Note that if you do not want to take up the full width of the container, the width of every column needs to be explicitly defined.
ListView
 
hideHeaders : Boolean
true to hide the header row (defaults to false so the header row will be shown).
ListView
 
internalTpl : String/Array
The template to be used for the header row. See tpl for more details.
ListView
 
itemSelector : String
Defaults to 'dl' to work with the preconfigured tpl. This setting specifies the CSS selector (e.g. div.some-class or span:first-child) that will be used to determine what nodes the ListView will be working with.
ListView
 
overClass : String
The CSS class applied when over a row (defaults to 'x-list-over'). An example overriding the default styling:
.x-list-over {background-color: orange;}
ListView
 
reserveScrollOffset : Boolean
By default will defer accounting for the configured scrollOffset for 10 milliseconds. Specify true to account for the configured scrollOffset immediately.
ListView
 
scrollOffset : Number
The amount of space to reserve for the scrollbar (defaults to undefined). If an explicit value isn't specified, this will be automatically calculated.
ListView
 
selectedClass : String
The CSS class applied to a selected row (defaults to 'x-list-selected'). An example overriding the default styling:
.x-list-selected {background-color: yellow;}
ListView

        
        */
    }
}
